A Program Slicing Approach for Locating Functional Concerns
نویسندگان
چکیده
A functional concern – code that helps fulfill a functional requirement – is typically implemented by collaborative software modules. When a developer modifies or reuses the implementation of a functional concern, he must find the modules contributing to the concern and understand how the units collaborate with one another. In this paper, we describe an approach for locating the code contributing to a functional concern that is based on program slicing. Our approach uses heuristics to bound the size of the slice determined to represent the functional concern, thereby overcoming the large slice sizes that often limit the usefulness of program slicing based approaches. Our approach outputs a description of the functional concern’s implementation as a concern graph, which summarizes the interactions between the program elements in the slice. We report on an evaluation in which we compared the size and content of concern graphs produced by our approach with concern graphs made by hand by two developers. We show that our method can extract concern graphs with appropriate content for a developer automatically, reducing the cost of locating functional concerns.
منابع مشابه
Towards Locating a Functional Concern Based on a Program Slicing Technique
A functional concern is often implemented by collaborative software modules. When developers modify or reuse the implementation of a concern, they need to find the module units contributing to the concern and understand how the units collaborate with one another. Although program slicing is an automatic method to extract relationship among program elements in modules, slicing often results in m...
متن کاملLocating dependence structures using search-based slicing
This paper introduces an approach to locating dependence structures in a program by searching the space of the powerset of the set of all possible program slices. The paper formulates this problem as a search based software engineering problem. To evaluate the approach, the paper introduces an instance of a search based slicing problem concerned with locating sets of slices that decompose a pro...
متن کاملProgram Specialization via Program Slicing
This paper concerns the use of program slicing to perform a certain kind of program-specialization operation. We show that the specialization operation that slicing performs is different from the specialization operations performed by algorithms for partial evaluation, supercompilation, bifurcation, and deforestation. To study the relationship between slicing and these operations in a simplifie...
متن کاملDYBS: A Lightweight Dynamic Slicing Framework for Diagnosing Attacks on x86 Binary Programs
Nowadays, applications are usually large-scale, this making tasks of comprehending and debugging software rather complicated. As a dynamic reduction technique for simplifying programs, dynamic program slicing is an effective and important approach for locating and diagnosing software attacks. However, most of the existing dynamic slicing tools perform slicing at the source code level, but the s...
متن کاملSlicing Functional Programs by Calculation
Program slicing is a well known family of techniques used to identify code fragments which depend on or are depended upon specific program entities. They are particularly useful in the areas of reverse engineering, program understanding, testing and software maintenance. Most slicing methods, usually targeting either the imperative or the object oriented paradigms, are based on some sort of gra...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007